iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0
JavaScript

不要再說你不會後端!30 天 Node.js 降維打擊指南 系列 第 16 篇

Day 16:給密碼加上一把安全鎖—— Bcrypt 密碼雜湊與加密機制實戰

  • 分享至 

  • xImage
  •  

系列: 不要再說你不會後端!30 天 Node.js 降維打擊指南
前情提要: 在前面幾天,我們完成了使用 Mongoose 進行資料庫的 CRUD 操作,也學會了如何處理非同步錯誤。今天我們要進一步接觸**使用者認證(Authentication)**的核心環節:密碼安全處理。


1. 後端開發安全鐵則:絕不明碼儲存密碼!

身為一個負責任的後端工程師,絕不能把使用者的明文密碼(Plaintext Password)直接存入資料庫!

如果資料庫不幸洩漏,明碼儲存會導致嚴重的資安災難。此外,傳統的 MD5 或 SHA256 等單向雜湊演算法已經不再安全,因為攻擊者可以利用預先計算好的「彩虹表(Rainbow Table)」輕鬆破解。

什麼是 Bcrypt?

Bcrypt 是一種專門為密碼儲存設計的單向雜湊演算法,它具備以下兩大安全特性:

  1. 加鹽機制(Salting):在密碼雜湊前加入隨機產生的字串,即使兩個使用者設定一模一樣的密碼,雜湊後的結果也完全不同。
  2. 工作因子(Work Factor / Cost Factor):可以調整演算法的計算複雜度,增加暴力破解的時間成本。

2. 安裝與基本使用

在 Node.js 中,我們通常使用 bcryptjs 套件(純 JavaScript 實作,跨平台支援度極佳):

npm install bcryptjs

上一篇
#Day 15:資料庫雙雄對決(SQL vs NoSQL)
系列文
不要再說你不會後端!30 天 Node.js 降維打擊指南 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言